# .	匹配任意1个字符（除了\n）
# [ ]	匹配[ ]中列举的字符
# \d	匹配数字，即0-9
# \D	匹配非数字，即不是数字
# \s	匹配空白，即 空格，tab键
# \S	匹配非空白
# \w	匹配非特殊字符，即a-z、A-Z、0-9、_、汉字
# \W	匹配特殊字符，即非字母、非数字、非汉字

import re

# .	匹配任意1个字符（除了\n）
match_obj = re.match("t.o", "tao")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")


# [ ]	匹配[ ]中列举的字符
match_obj = re.match("葫芦娃[12]", "葫芦娃1")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")

# 匹配银行卡密码中的一位
match_obj = re.match("[0123456789]", "9")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")

match_obj = re.match("[0-9]", "9")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")

# \d	匹配数字，即0-9 => [0-9] => [0123456789]
match_obj = re.match("\d", "9")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")

# \D	匹配非数字，即不是数字
match_obj = re.match("\D", "$")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")

# \s	匹配空白，即 空格，tab键
match_obj = re.match("葫芦娃\s[12]", "葫芦娃\t1")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")

# \S	匹配非空白
match_obj = re.match("葫芦娃\S[12]", "葫芦娃%1")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")

# 匹配某个网站中密码中的一位，密码一般是由字母（大写字母小写字母），数字，下划线
match_obj = re.match("[a-zA-Z0-9_]", "_")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")

# \w	匹配非特殊字符，即a-z、A-Z、0-9、_、汉字
match_obj = re.match("\w", "哈")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")

# \W	匹配特殊字符，即非字母、非数字、非汉字
match_obj = re.match("\W", "%")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")